// 全局基础路径配置
const BASE_URL = 'http://28181.lcyok.com/api/'
const BASE_URL2 = 'https://28181.lcyok.com/api/'
const BASE_URLimg = "http://qny.lcyok.com/"
function getimg(key) {
    //拼接key 返回完整图片地址
    let img = BASE_URLimg + key
    if (type == "big") {
        // 显示大图 可以预览
        return img + '?vframe/jpg/offset/0.5'
    } else {
        // 显示缩略图
        return img + '?imageView2/3/w/300/h/300/q/75|imageslim'
    }
}
function request(className, params, isAuth = true) { // 修改默认值为true
    // 获取鉴权参数并检查
    let authParams = {};
    if (isAuth) {
        authParams = getAuthParams();
        // 检查mkey、userid、corpid是否为空
        if (!authParams.mkey || !authParams.userid || !authParams.corpid) {
            wx.showToast({
                title: '请先登录',
                icon: 'none'
            });
            wx.reLaunch({
                url: '/pages/login/login'
            });
            return Promise.reject({ code: false, msg: '请先登录' });
        }
    }

    // 合并参数
    const finalParams = {
        ...params,
        ...authParams // 已通过检查或isAuth为false时为空对象
    };

    return new Promise((resolve, reject) => {
        console.log(params.op)
        let urls = ""
        if (params.op == 'qiniu_loadtuken') {
            urls = BASE_URL2
        } else {
            urls = BASE_URL
        }
        wx.request({
            url: `${urls}${className}.php`,
            method: 'POST',
            header: {
                'content-type': 'application/json'
            },
            data: finalParams,
            success: (res) => {
                if (params.op == 'qiniu_loadtuken') {
                    resolve(res);
                    return
                }
                // 新增：优先检查 errmsgcode 是否为 10001
                if (res.data.errmsgcode === 10001) {
                    wx.showToast({ title: '鉴权失败，请重新登录', icon: 'none' });
                    wx.reLaunch({ url: '/pages/login/login' });
                    reject({ code: false, msg: '鉴权失败' });
                    return; // 直接返回，避免执行后续逻辑
                }

                if (res.data.code === true) {

                    resolve(res.data);
                } else {
                    wx.showToast({
                        title: res.data.msg || '请求失败',
                        icon: 'none'
                    });
                    reject(res.data);
                }
            },
            fail: (err) => {
                wx.showToast({
                    title: '网络连接失败',
                    icon: 'none'
                });
                reject({ code: false, msg: '网络异常' });
            }
        });
    });
}

// 获取鉴权参数（需在app.js维护session状态）
function getAuthParams() {
    const app = getApp();
    return {
        mkey: app.globalData.session?.mkey || '',
        userid: app.globalData.session?.userid || '',
        corpid: app.globalData.session?.corpid || '',
        // zzstatus: app.globalData.session?.zzstatus || ''
    };
}





module.exports = { request, getimg };